This invention relates to a method of controlling brightness and contrast in a raster scan digital oscilloscope.
An oscilloscope presents the activity of an electrical signal to its user. In the traditional analog oscilloscope, the waveform display is generated by an electron beam incident on a phosphor coating on the face plate of a cathode-ray tube. The point of incidence of the electron beam on the face plate sweeps horizontally (X direction) at a uniform speed across the face plate and is deflected vertically (Y direction) as a function of the magnitude of the signal being observed.
Two variables that influence the appearance of a waveform display are the brightness of the display (the overall light intensity emitted by the display) and the contrast of the display (the ratio of the light intensity emitted by the most brightly illuminated elements of the display to the light intensity emitted by the dimmest illuminated elements of the display).
The user interface of the traditional analog oscilloscope has a single knob for controlling the brightness with which a waveform is displayed. This knob, which is typically labelled as an intensity control, controls the current supplied to the electron gun of the cathode ray tube. For a given setting of the intensity control knob, the intensity with which a segment of the waveform is displayed depends on the slope of the segment and the frequency with which the event represented by the segment occurs. At a low setting, the user might not be able to see the waveform features of an infrequent event or a particularly fast edge. Accordingly, the user may increase the setting until a complete waveform can be seen, and at that point there will generally be a significant contrast between the slower edges and the faster edges, and between more frequent events and less frequent events. By increasing the intensity further, the intensity of all segments of the waveform is increased, until when maximum intensity is approached, the intensity of the more frequent events is limited by the maximum current value and the intensity of the less frequent events continues to increase and so the contrast is reduced.
The traditional analog oscilloscope is a common measurement instrument. Many technicians and engineers are familiar with the manner in which the display changes in response to turning of the intensity control knob.
In a multi-channel oscilloscope, different hues may be associated with the signal channels respectively: green may be associated with one channel and red with another channel. When the intensity control knob is turned in the counterclockwise direction, associated with decreasing intensity, the effect is to reduce the saturation with which a waveform of a given hue is displayed.
In a color temperature display, different hues may be associated with different intensity ranges: redder hues may be associated with higher intensity ranges and bluer hues with lower intensity ranges. When the intensity control knob is turned in the clockwise direction, the effect is to translate the hue with which a given intensity is associated toward the red end of the spectrum.
Referring to FIG. 1, a conventional raster scan digital oscilloscope includes a display panel 10 having a two-dimensional array of pixels, with each pixel location being uniquely defined by a row number and a column number. The oscilloscope also includes a raster scan memory 14 having a two-dimensional address space. The memory locations in the raster scan memory map on a one-to-one basis with the pixel locations of the display panel 10. The state of each pixel depends on the contents of the corresponding memory location in the raster scan memory 14.
In the case of the oscilloscope shown in FIG. 1, the raster scan memory stores n bits of information for each pixel, where n is an integer greater than one, which allows each pixel to have 2.sup.n illumination states. One of the states is off, and in the other 2n.sup.-1 states, the pixel is illuminated at different respective intensities. Thus, for example, a 4-bit deep raster scan memory can support fifteen levels of partial to maximum illumination (gray scale levels) as well as the dark or off state.
Depending on the nature of the signal and the settings of the oscilloscope, a given column of pixels may contain one or more illuminated pixels (hereinafter referred to as dots). Each column displays a vector, defined as the segment of the column between the uppermost dot in the column and the lowermost dot in the column.
The brightness of a vector depends on the sum of the intensities of the dots in the vector. If the intensity of a dot is proportional to the value of the data word stored in the corresponding location of the raster scan memory, the brightness of the vector is proportional to the sum of the data words of the dots in the vector. The brightness of the display is the sum of the brightnesses of all the vectors, and therefore is proportional to the sum of the data words of the dots in all the vectors.
The digital oscilloscope shown in FIG. 1 also includes an A/D converter 18 having an input terminal for acquiring an electrical signal at a test point in an electronic circuit. The A/D converter samples the signal during an acquisition interval and quantizes the samples to generate a sequence of digital data words. The data words generated by the A/D converter and having values D1-DN are stored as a linear waveform record in an acquisition memory 22 having a one-dimensional address space A1-AN.
When the acquisition is complete, the linear waveform record stored in the acquisition memory is supplied to a rasterizer 26 which generates a rasterized waveform record and stores it in a rasterizer memory 30 having a two-dimensional address space (X1-XN, Y1-YN). (The common suffix N is used for economy and is not intended to indicate that the number of elements in the set {Xi}, for example, is the same as the number of elements in the set {Ai}.) The X component of the address of a data word in the rasterized waveform record stored in the rasterizer memory 30 is derived from the address Ai of at least one word of the linear waveform record and the Y component of the address is derived from the value Di of at least one word of the linear waveform record.
Each combination of addresses (Xi, Yi) at which a data word is stored in the rasterizer memory 30 represents an event, characterized by a unique combination of time (dependent on Xi) and signal level (dependent on Yi).
The rasterized waveform record may be added to an existing display record stored in the raster scan memory 14 to control the state of the display panel 10. Referring to FIGS. 2A-2C, in which the numerical values designate decimal values of data words, FIG. 2A represents the original display record for three adjacent columns of the display panel prior to addition of the rasterized waveform record for a new acquisition, FIG. 2B represents the rasterized waveform record for the corresponding interval of the new acquisition, and FIG. 2C represents the updated display record obtained by adding the rasterized waveform record of FIG. 2B to the display record of FIG. 2A. Thus, if the same event occurs during multiple acquisitions, the value of the data word representing that event in the raster scan memory 14 increases.
As also shown in FIG. 1, the contents of the raster scan memory may be influenced by a decay process 34, which reduces the value stored at each location in the raster scan memory by a selected amount per unit time, so that events that occur only infrequently will be shown with reduced intensity as compared with events that occur more frequently.
The oscilloscope includes a controller 38, which controls operation of the other components shown in FIG. 1, and operator controls 42 which allow the user to adjust the settings of the oscilloscope.
In one known technique of rasterizing, referred to as the dot mode, the address (Xi, Yi) of a data word of the rasterized waveform record is derived from a single data-address pair of the linear waveform record. Thus, the data words in the rasterized waveform record correspond on a one-to-one basis with the data-address pairs of the linear waveform record.
It is generally considered desirable that the waveform presented to the user of an oscilloscope be substantially continuous, without significant horizontal or vertical gaps between dots. However, when the rasterizer operates in the dot mode, there may be gaps between dots in the display. Accordingly, depending on the signal and the settings of the oscilloscope, the dot mode of rasterizing may not be considered optimum.
In another known mode, referred to as the full vector mode, the rasterized waveform record includes not only data words derived respectively from the data-address pairs of the linear waveform record but also additional data words which are synthesized by the rasterizer to ensure that the waveform is continuous, so that an end point of a vector is offset vertically from the end point of an adjacent vector by no more than one pixel, and all the pixels between the two end points of the vector, as well as the two end points themselves, are illuminated.
U.S. Pat. No. 6,104,374, the entire disclosure of which is hereby incorporated by reference herein, discloses a sparse vector mode of rasterizing in which the end points of a vector may be vertically offset from an adjacent vector by more than one pixel and there may be a gap of one or more pixels between two dots in a given vector. Randomization is built into the sparse vector mode, so that even if the linear waveform records for successive acquisitions are identical, the respective rasterized waveform records will generally not be precisely the same, and gaps in a vector created on one acquisition will be filled in on a subsequent acquisition.
In a practical implementation of the oscilloscope described in U.S. Pat. No. 6,104,374, a variable that affects the operation of the rasterizer is known as the minimum attack amount, which is the minimum value of a non-zero data word in the rasterized waveform record. Depending on the nature of the linear waveform record, a non-zero data word in the rasterized waveform record may have a value (attack amount) greater than the minimum attack amount. Another variable affecting operation of the oscilloscope may be referred to as the decay rate, which is the amount by which the decay process 34 reduces the values of non-zero data words in the display record per unit time.
The decay rate and the minimum attack amount depend on values supplied by the controller 38 to the decay process 34 and the rasterizer 26 respectively.
In the practical implementation of the oscilloscope described in U.S. Pat. No. 6,104,374, a dot representing an event in a given signal channel has a selected color, such as red, and an unilluminated pixel is black. The brightness of the dot depends on the value of the data word at the corresponding location in the raster scan memory. At a high data value, the dot is vivid and as the data value decreases the dot fades to black through progressively deeper and darker shades. The value of the data word at a given location in the raster scan memory, and hence the brightness of the corresponding dot in the display, depends on the attack amount for the event represented by that location in the raster scan memory and on the decay rate. The display device can be adjusted to alter the brightness and contrast of the display. Contrast can indicate differences in frequency of events, since a pixel that is hit less frequently will be dimmer than a pixel that is hit more frequently. If the contrast value is low, the difference between the brightness of a pixel that is hit more frequently and the brightness of a pixel that is hit less frequently is reduced and accordingly all events appear to be the same. Further, contrast can indicate differences in edge rate of events: slower edges are shown more brightly than faster edges.
Three variables that characterize the manner in which a vector is displayed in the sparse vector mode of rasterizaton are referred to herein as vector weight VW, which is equal to the total value of the data words for the dots in a vector, raster weight W, which is equal to the units of intensity per attack (the amount by which the data value stored in the raster scan memory for a particular event is increased on the next occurrence of that event), and vector fill N, equal to the maximum number of dots in a vector.
In the sparse vector mode of rasterization, the value of VW is kept substantially constant over all vectors in order to keep the brightness of all vectors the same regardless of the length of the vector. If the actual number of dots in a vector is N, VW is equal to W*N. If the actual number of dots in a given vector is less than N, the value of W is increased for that vector in order to keep VW constant.